package com.ygp.dtp.core.monitor.collector;

import com.ygp.dtp.common.dto.ThreadPoolState;

/**
 * @description: 监控收集器
 * @motto: 代码源于生活，高于生活艺术
 * @author: zhouhengzhe
 * @date: 2022/8/9 09:57
 * @since 1.0
 **/
public interface MetricsCollector {

    /**
     * 收集关键指标。
     *
     * @param threadPoolState 线程池相关状态参数
     */
    void collect(ThreadPoolState threadPoolState);

    /**
     * 收集类型
     *
     * @return 收集类型
     */
    String type();

    /**
     * 判断收集器类型
     *
     * @param type 收集类型
     * @return 如果收集器支持此类型，否则为 false
     */
    Boolean support(String type);

}
